<?php
/**
 *  
 *
  */
namespace Org\Util;
class Rpcdd {

    
     public function pcdd_balance() {
		 $day=date("Y-m-d");
		 $day_time=strtotime($day);
		 $insert_data=array();
		 $lm=array();
 				  $n_time=time(); 
 				   
					$pcdd_condition['c_id']=11;
					$pcdd_max_c_no=M('lottery_results')->where($pcdd_condition)->max('c_no'); //获取当天最大期数
					 
					$url='http://a.apiplus.net/newly.do?token=5ee5aca63461f954&code=bjkl8&rows=1&format=json'; //接口地址
		   
					$new_result=get_http($url);
					$result=json_decode($new_result,true);
				 
					
					 //print_r($result['data'][0]['opencode']); exit;
					//PC蛋蛋
				if($pcdd_max_c_no!=$result['data'][0]['expect']){
				  // print_r($result['data'][0]['opencode']); exit;
					$pc_newa = substr($result['data'][0]['opencode'],0,strrpos($result['data'][0]['opencode'],'+')); 
					
 					$num= explode(",",$pc_newa);
					
					$new_num=array();
					
					$n_num1=$num[0]+$num[1]+$num[2]+$num[3]+$num[4]+$num[5];
					$new_num[0]=fmod($n_num1,10);
					
					$n_num2=$num[6]+$num[7]+$num[8]+$num[9]+$num[10]+$num[11];
					$new_num[1]=fmod($n_num2,10);
					
					$n_num3=$num[12]+$num[13]+$num[14]+$num[15]+$num[16]+$num[17];
					$new_num[2]=fmod($n_num3,10);
					 
					$new_num_s=implode(",",$new_num);
					 
					//  print_r($new_num_s);exit;
					$pc_insert_data['c_no']=$result['data'][0]['expect'];
					$pc_insert_data['c_id']=11;
					$pc_insert_data['c_name']='PC蛋蛋';
					$pc_insert_data['add_time']=$result['data'][0]['opentimestamp'];
					$pc_insert_data['lottery_result']=$new_num_s;
					$pc_insert_data['status']=0;
					S('pcdd_'.$result['data'][0]['expect'],$new_num_s);  //存入缓存  方便计算两面长龙算法
					//$sum=array_sum($num);
 					$pcsum=array_sum($new_num);
					$pclm[0]=$this->pc_dx($pcsum);  //大小
					$pclm[1]=$this->pc_ds($pcsum);  //单双 
					$pclm[2]=$this->pc_jdx($pcsum);  //极大极小
					$pclm[3]=$this->pc_dxds($pcsum);  //大小单双
					$pclm[4]=$this->pc_bs($pcsum);  //波色
					$pclm[5]=$this->pc_bz($pcsum);  //豹子 
					$pc_insert_data['lm']='';
				  // print_r($insert_data);exit;
					if($pcdd_max_c_no+1==$result['data'][0]['expect']){  //计算两面长龙结果
					  
 					   $flag_pc=1;
 					   $flag_pcdx=0;
					   $flag_pcds=0;
					   $flag_pcjdx=0;
					   $flag_pcdxds=0;
					   $flag_pcbs=0;
					   $flag_pcbz=0;
					   $pck=1;
					   do{
						   
						   $pc_old_lottery=$result['data'][0]['expect']-$pck;
						   
						   $pcdd_result=S('pcdd_'.$pc_old_lottery);
			 
							if(empty($pcdd_result))
							{
							$pc_condition1['c_id']=11;
							$pc_condition1['c_no']=$pc_old_lottery;
							$pcdd_result=M('lottery_results')->where($pc_condition1)->getField('lottery_result');
							if($pcdd_result){
							S('pcdd_'.$pc_old_lottery,$pcdd_result);
							}else{
								$flag_pc=0;
								}
							}	
						  
 						   $pcnum1[$pck-1]= explode(",",$pcdd_result);
						   $pcsum1[$pck-1]=array_sum($pcnum1[$pck-1]);
						   
						     //计算总和大小两面长龙
						   $pcdx1=$this->pc_dx($pcsum1[$pck-1]);
						   if($flag_pcdx==0){
							   
							  if($pcdx1==$pclm[0]){
							   $pcb=$pck+1;
							   //ZDS=D,2,总和单 ZHT_810
								 if($pcdx1=='小'){
								 $pc_dx='DX=X,'.$pcb.',大小-小';
								 }else{
								 $pc_dx='DX=D,'.$pcb.',大小-大';
									 } 
							   }else{
							   $flag_pcdx=1;	 
								   }
						   }
						    //计算总和单双两面长龙
						   $pcds1=$this->pc_ds($pcsum1[$pck-1]);
						   if($flag_pcds==0){
							  $pc_ds=''; 
							  if($pcds1==$pclm[1]){
							   $pcb=$pck+1;
							   //ZDS=D,2,总和单 ZHT_810
								 if($pcds1=='双'){
								 $pc_ds='DS=S,'.$pcb.',单双-双';
								 }else{
								 $pc_ds='DS=D,'.$pcb.',单双-单';
									 } 
							   }else{
							   $flag_pcds=1;	 
								   }
						   }
						 //计算总和单双两面长龙
						   $pcjdx1=$this->pc_jdx($pcsum1[$pck-1]);
						   if($flag_pcjdx==0){
							   
							  if($pcjdx1==$pclm[2]&&$pcdx1!='无'&&$pclm[2]!='无'){
							   $pcb=$pck+1;
							   //ZDS=D,2,总和单 ZHT_810
								 if($pcjdx1=='极大'){
								 $pc_jdx='JZDX=D,'.$pcb.',极大';
								 }else{
								 $pc_jdx='JZDX=X,'.$pcb.',极小';

									 } 
							   }else{
							   $flag_pcjdx=1;	 
								   }
						   }
						
						 //计算总和单双两面长龙
						   $pcdxds1=$this->pc_dxds($pcsum1[$pck-1]);
						   if($flag_pcdxds==0){
							   
							  if($pcdxds1==$pclm[3]){
							   $pcb=$pck+1;
							   //ZDS=D,2,总和单 ZHT_810
								 if($pcdxds1=='大双'){
								 $pc_dxds='DXDS=DS,'.$pcb.',大双';
								 }elseif($pcdxds1=='小双'){
								 $pc_dxds='DXDS=XS,'.$pcb.',小双';
									 }elseif($pcdxds1=='小单'){
								 $pc_dxds='DXDS=XD,'.$pcb.',小单';
									 }elseif($pcdxds1=='大单'){
								 $pc_dxds='DXDS=DD,'.$pcb.',大单';
									 }
									  
							   }else{
							   $flag_pcdxds=1;	 
								   }
						   }
						   
						 //计算总和单双两面长龙
						   $pcbs1=$this->pc_bs($pcsum1[$pck-1]);
						   if($flag_pcbs==0){
							   
							  if($pcbs1==$pclm[4]&&$pcbs1!='无'&&$pclm[4]!='无'){
							   $pcb=$pck+1;
							   //SB=R,3,色波-红波
								 if($pcbs1=='红'){
								 $pc_bs='SB=R,'.$pcb.',色波-红波';
								 }elseif($pcbs1=='蓝'){
								 $pc_bs='SB=B,'.$pcb.',色波-蓝波';
									 }else{
								$pc_bs='SB=G,'.$pcb.',色波-绿波';	 
										 } 
							   }else{
							   $flag_pcbs=1;	 
								   }
						   }   
						  //计算总和单双两面长龙
						   $pcbz1=$this->pc_bz($pcnum1[$pck-1]);
						   if($flag_pcbz==0){
							   
							  if($pcbz1==$pclm[5]&&$pcbz1!='无'&&$pclm[5]!='无'){
							   $pcb=$pck+1;
							   //SB=R,3,色波-红波
								 if($pcbs1=='豹子'){
								$pc_bz='BZ=0,'.$pcb.',豹子';	 
								 }
							   }else{
							   $flag_pcbz=1;	 
								   }
						   } 
						   
						   
						      
						 $pck++; 
						if($flag_pcdx==1&&$flag_pcds==1&&$flag_pcjdx==1&&$flag_pcdxds==1&&$flag_pcbs==1&$flag_pcbz==1||$pck>10){
							// if($k<11){
							   $flag_pc=0;
							   }  
							 
					   }while($flag_pc==1);
					  
					  
					   if($pc_dx){	 
					   $pc[]=$pc_dx;	
					   }
					   if($pc_ds){	 
					   $pc[]=$pc_ds;	
					   }
					   if($pc_jdx){	 
					   $pc[]=$pc_jdx;	
					   }
					   if($pc_dxds){	 
					   $pc[]=$pc_dxds;	
					   }
					   if($pc_bs){	 
					   $pc[]=$pc_bs;	
					   }
					   if($pc_bz){	 
					   $pc[]=$pc_bz;	
					   }
					  // print_r($s);exit;
					   $pc_s=implode(";",$pc);	
						// print_r($n_s);exit;
					  $pc_insert_data['detail']=$pc_s;	
						}
						
					$pc_insert_result=M('lottery_results')->data($pc_insert_data)->add();
							
				 	if(!$pc_insert_result){
 						 file_put_contents("test.txt", date("Y-m-d H:i:s") . "获取PC蛋蛋结果存入失败！" . "\r\n<br>", FILE_APPEND);  	
							}else{
							$pcdd_result = new \Org\Util\Jspcdd();  //PC蛋蛋
        $pcdd_result->pcdd_balance();
					}
 					}
		return; 		
     }
	
//PC蛋蛋函数
 public function pc_ds($sum){  //总和单双
      if($sum%2==0){
		$ds='双';
			}else{
		$ds='单';	 
		}
		return $ds;
 }
 public function pc_dx($sum){  //总和大小
      if($sum>=14){
		   $dx='大';	 
			 }else{
			 $dx='小';	 
				 }
		return $dx;
 }
 public function pc_jdx($sum){  //总和极大小
      $dx='无';
      if($sum>=22&&$sum<=27){
		   $dx='极大';	 
			 }
	  if($sum>=0&&$sum<=5){
			 $dx='极小';	 
			 }
		return $dx;
 }
 public function pc_dxds($sum){
	 if($sum%2==0&&$sum>=14){
		$dx='大双'; 
		 }elseif($sum%2==0&&$sum<14){
		$dx='小双'; 	 
			 }elseif($sum%2!=0&&$sum<14){
		$dx='小单'; 	 
			 }elseif($sum%2!=0&&$sum>13){
		$dx='大单'; 	 
			 } 
	return $dx;			 
	 }	 
//PC波色
 public function pc_bs($sum){  //波色
 
 /*• 绿波号码：1 , 4 , 7 , 10 , 16 , 19 , 22 , 25
• 蓝波号码：2 , 5 , 8 , 11 , 17 , 20 , 23 , 26
• 红波号码：3 , 6 , 9 , 12 , 15 , 18 , 21 , 24 */
  $red=array('3','6','9','12','15','18','21','24');
  $green=array('1','4','7','10','16','19','22','25');
  $blue=array('2','5','8','11','17','20','23','26');
  $ds='无';
   if (in_array($sum, $red)){
	 $ds='红';  
	   } 
	if (in_array($sum, $green)){
	 $ds='绿';  
	   } 
	if (in_array($sum, $blue)){
	 $ds='蓝';  
	   }        
	return $ds;
 }
 
 public function pc_bz($num){  //豹子
 
 /*• 绿波号码：1 , 4 , 7 , 10 , 16 , 19 , 22 , 25
• 蓝波号码：2 , 5 , 8 , 11 , 17 , 20 , 23 , 26
• 红波号码：3 , 6 , 9 , 12 , 15 , 18 , 21 , 24 */
   $ds='无';
   if ($num[0]==$num[1]&&$num[0]==$num[2]){
	 $ds='豹子';  
	   } 
       
	return $ds;
 }
	 
}